<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 关于Vue中，序列化字符串，处理发送请求的参数使用qs
        import axios from 'axios';
        import qs from 'qs';

        // 设置发送请求的全局url的根路径
        axios.defaults.baseURL = "http://127.0.0.1:3000";
        // 超时时间
        axios.defaults.timeout = 10000;
        // 跨域请求时允许携带cookie等资源凭证
        axios.defaults.withCredentials = true;

        // 设置请求传递数据的格式
        axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded';
        axios.defaults.transformRequest = data => qs.stringify(data);

        // 设置请求拦截器
        axios.interceptors.request.ues(config => {
            // 此处可进行token校验
            let token = localStorage.getItem('token');
            token && (config.headers.Authorization = token);
            return config;
        }, error => {
            // 此处可配置跳转error页面等
            return Promise.reject(error);
        });

        // 响应拦截器
        axios.interceptors.response.use(response => {
            // 此处可配置通过不同的状态码进行不同的操作
            return response.data;
        }, error => {
            // 此处可配置跳转error页面等
            return Promise.reject(error);
        });

        // 封装暴露
        export default axios;

    </script>
</body>
</html>